/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.dao;

import com.modelo.*;
import java.util.List;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
import org.hibernate.Query;
import org.hibernate.Session;

/**
 *
 * @author Jonas
 */
public class FuncionarioDAO extends GenericDAO {

    private static final long serialVersionUID = 1L;

    public FuncionarioDAO() {
    }

    public int addFuncionario(Funcionario func) {
        saveOrUpdatePojo(func);
        return func.getId();
    }

    public void removeFuncionario(Funcionario func) {
        removePojo(func);
    }

    public void updateFuncionario(Funcionario func) {
        saveOrUpdatePojo(func);
    }

    public Funcionario getFuncionario(int id) {
        Funcionario func = getPojo(Funcionario.class, id);
        return func;
    }

    public List<Funcionario> getFuncionarios() {
        return getPureList(Funcionario.class, "from Funcionario func");
    }

    public boolean isValidLoginAndPassword(String login, String password) {

        boolean valid;
        Session ses = null;
        try {
            ses = getSession();
            Query query = ses.createQuery("from Funcionario f where f.email = :lg and f.senha = :pw");
            query.setString("lg", login);
            query.setString("pw", password);
            Funcionario func = (Funcionario) query.uniqueResult();

            valid = (func != null);
            return valid;
        } catch (Exception e) {
            return false;
        } finally {
            if (ses != null) {
                ses.close();
            }
        }
    }
}
